]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blobdiff - autohotkey-v2.0/UltimateKEYS (for AutoHotkey v2.0).ahk
Add files via upload
[UltimateKEYS.git] / autohotkey-v2.0 / UltimateKEYS (for AutoHotkey v2.0).ahk
index 6b9c6601e294efbff9167b53df57b83f878ab959..64140e10ab7063406d147c5664885029517b76d7 100644 (file)
@@ -1,4 +1,4 @@
-; UltimateKEYS (for AutoHotkey v2.0).ahk - 2022-05-23
+; UltimateKEYS (for AutoHotkey v2.0).ahk - 2022-08-25
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
@@ -20,7 +20,7 @@ KeyHistory 0      ; disables the key history (for privacy and security)
 
 SendMode "Input"  ; optimizes for faster and more reliable input
 
-global dkEndKeys := "{bs}{del}{esc}{home}{end}"  ; ends dead key input on specific keys
+global gEndKeys := "{bs}{del}{esc}{home}{end}"  ; ends dead key input on specific keys
 
 
 ; Compose :  Circumflex Accent (c)
@@ -89,8 +89,6 @@ cmpCaron["t"] := "{u+0165}"  ; (ť) t with caron
 cmpCaron["T"] := "{u+0164}"  ; (Ť) T with caron
 cmpCaron["u"] := "{u+01d4}"  ; (ǔ) u with caron
 cmpCaron["U"] := "{u+01d3}"  ; (Ǔ) U with caron
-cmpCaron["v"] := "{u+01da}"  ; (ǚ) u with diaeresis and caron
-cmpCaron["V"] := "{u+01d9}"  ; (Ǚ) U with diaeresis and caron
 cmpCaron["z"] := "{u+017e}"  ; (ž) z with caron
 cmpCaron["Z"] := "{u+017d}"  ; (Ž) Z with caron
 cmpCaron["3"] := "{u+01ef}"  ; (ǯ) small letter ezh with caron
@@ -151,6 +149,8 @@ cmpDotAbove["Z"] := "{u+017b}"  ; (Ż) Z with dot above
 ; Compose :  Ring Above (o)
 
 global cmpRingAbove := Map()
+cmpRingAbove["a"] := "{u+00e5}"  ; (å) a with ring above
+cmpRingAbove["A"] := "{u+00c5}"  ; (Å) A with ring above
 cmpRingAbove["u"] := "{u+016f}"  ; (ů) u with ring above
 cmpRingAbove["U"] := "{u+016e}"  ; (Ů) U with ring above
 cmpRingAbove["w"] := "{u+1e98}"  ; (ẘ) w with ring above
@@ -182,14 +182,14 @@ cmpMacronStroke["o"] := "{u+014d}"  ; (ō) o with macron
 cmpMacronStroke["O"] := "{u+014c}"  ; (Ō) O with macron
 cmpMacronStroke["p"] := "{u+1d7d}"  ; (ᵽ) p with stroke
 cmpMacronStroke["P"] := "{u+2c63}"  ; (Ᵽ) P with stroke
+cmpMacronStroke["q"] := "{u+01ed}"  ; (ǭ) o with ogonek and macron
+cmpMacronStroke["Q"] := "{u+01ec}"  ; (Ǭ) O with ogonek and macron
 cmpMacronStroke["r"] := "{u+024d}"  ; (ɍ) r with stroke
 cmpMacronStroke["R"] := "{u+024c}"  ; (Ɍ) R with stroke
 cmpMacronStroke["t"] := "{u+0167}"  ; (ŧ) t with stroke
 cmpMacronStroke["T"] := "{u+0166}"  ; (Ŧ) T with stroke
 cmpMacronStroke["u"] := "{u+016b}"  ; (ū) u with macron
 cmpMacronStroke["U"] := "{u+016a}"  ; (Ū) U with macron
-cmpMacronStroke["v"] := "{u+01d6}"  ; (ǖ) u with diaeresis and macron
-cmpMacronStroke["V"] := "{u+01d5}"  ; (Ǖ) U with diaeresis and macron
 cmpMacronStroke["y"] := "{u+0233}"  ; (ȳ) y with macron
 cmpMacronStroke["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 cmpMacronStroke["z"] := "{u+01b6}"  ; (ƶ) z with stroke
@@ -200,24 +200,19 @@ cmpMacronStroke[" "] := "{u+00af}"  ; (¯) macron
 ; Compose :  Macron/Stroke (Additional) (_)
 
 global cmpMacronStrokeAdd := Map()
-cmpMacronStrokeAdd["a"] := "{u+01e3}"  ; (ǣ) ae with macron
-cmpMacronStrokeAdd["A"] := "{u+01e2}"  ; (Ǣ) AE with macron
 cmpMacronStrokeAdd["g"] := "{u+1e21}"  ; (ḡ) g with macron
 cmpMacronStrokeAdd["G"] := "{u+1e20}"  ; (Ḡ) G with macron
 cmpMacronStrokeAdd["i"] := "{u+0268}"  ; (ɨ) i with stroke
 cmpMacronStrokeAdd["I"] := "{u+0197}"  ; (Ɨ) I with stroke
 cmpMacronStrokeAdd["l"] := "{u+019a}"  ; (ƚ) l with bar
 cmpMacronStrokeAdd["L"] := "{u+023d}"  ; (Ƚ) L with bar
-cmpMacronStrokeAdd["o"] := "{u+01ed}"  ; (ǭ) o with ogonek and macron
-cmpMacronStrokeAdd["O"] := "{u+01ec}"  ; (Ǭ) O with ogonek and macron
 cmpMacronStrokeAdd["u"] := "{u+0289}"  ; (ʉ) u with bar
 cmpMacronStrokeAdd["U"] := "{u+0244}"  ; (Ʉ) U with bar
 cmpMacronStrokeAdd["y"] := "{u+024f}"  ; (ɏ) y with stroke
 cmpMacronStrokeAdd["Y"] := "{u+024e}"  ; (Ɏ) Y with stroke
-cmpMacronStrokeAdd[" "] := "{u+00af}"  ; (¯) macron
 
 
-; Compose :  Stroke (/)
+; Compose :  Oblique/Diagonal Stroke (/)
 
 global cmpStroke := Map()
 cmpStroke["a"] := "{u+2c65}"  ; (ⱥ) a with stroke
@@ -231,6 +226,8 @@ cmpStroke["g"] := "{u+a7a1}"  ; (ꞡ) g with oblique stroke
 cmpStroke["G"] := "{u+a7a0}"  ; (Ꞡ) G with oblique stroke
 cmpStroke["k"] := "{u+a7a3}"  ; (ꞣ) k with oblique stroke
 cmpStroke["K"] := "{u+a7a2}"  ; (Ꞣ) K with oblique stroke
+cmpStroke["l"] := "{u+0142}"  ; (ł) l with stroke
+cmpStroke["L"] := "{u+0141}"  ; (Ł) L with stroke
 cmpStroke["n"] := "{u+a7a5}"  ; (ꞥ) n with oblique stroke
 cmpStroke["N"] := "{u+a7a4}"  ; (Ꞥ) N with oblique stroke
 cmpStroke["o"] := "{u+00f8}"  ; (ø) o with stroke
@@ -282,7 +279,7 @@ cmpCedillaOgonek["."] := "{u+02db}"  ; (˛) ogonek
 cmpCedillaOgonek[" "] := "{u+00b8}"  ; (¸) cedilla
 
 
-; Compose :  Breve/Special (b)
+; Compose :  Breve and Special Letters (b)
 
 global cmpBreveSpecial := Map()
 cmpBreveSpecial["a"] := "{u+0103}"  ; (ă) a with breve
@@ -364,22 +361,13 @@ cmpAcuteAccent["s"] := "{u+015b}"  ; (ś) s with acute
 cmpAcuteAccent["S"] := "{u+015a}"  ; (Ś) S with acute
 cmpAcuteAccent["u"] := "{u+00fa}"  ; (ú) u with acute
 cmpAcuteAccent["U"] := "{u+00da}"  ; (Ú) U with acute
-cmpAcuteAccent["v"] := "{u+01d8}"  ; (ǘ) u with diaeresis and acute
-cmpAcuteAccent["V"] := "{u+01d7}"  ; (Ǘ) U with diaeresis and acute
 cmpAcuteAccent["w"] := "{u+1e83}"  ; (ẃ) w with acute
 cmpAcuteAccent["W"] := "{u+1e82}"  ; (Ẃ) W with acute
 cmpAcuteAccent["y"] := "{u+00fd}"  ; (ý) y with acute
 cmpAcuteAccent["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 cmpAcuteAccent["z"] := "{u+017a}"  ; (ź) z with acute
 cmpAcuteAccent["Z"] := "{u+0179}"  ; (Ź) Z with acute
-cmpAcuteAccent["b"] := "{u+01fb}"  ; (ǻ) a with ring above and acute
-cmpAcuteAccent["B"] := "{u+01fa}"  ; (Ǻ) A with ring above and acute
-cmpAcuteAccent["d"] := "{u+1e09}"  ; (ḉ) c with cedilla and acute
-cmpAcuteAccent["D"] := "{u+1e08}"  ; (Ḉ) C with cedilla and acute
-cmpAcuteAccent["f"] := "{u+01fd}"  ; (ǽ) ae with acute
-cmpAcuteAccent["F"] := "{u+01fc}"  ; (Ǽ) AE with acute
-cmpAcuteAccent["q"] := "{u+01ff}"  ; (ǿ) o with stroke and acute
-cmpAcuteAccent["Q"] := "{u+01fe}"  ; (Ǿ) O with stroke and acute
+cmpAcuteAccent[" "] := "{u+00b4}"  ; (´) acute accent
 
 
 ; Compose :  Diaeresis (")
@@ -407,15 +395,13 @@ cmpDiaeresis["Y"] := "{u+0178}"  ; (Ÿ) Y with diaeresis
 cmpDiaeresis[" "] := "{u+00a8}"  ; (¨) diaeresis
 
 
-; Compose :  Double Acute Accent and Special Letters (=)
+; Compose :  Double Acute Accent (=)
 
 global cmpDoubleAcute := Map()
 cmpDoubleAcute["o"] := "{u+0151}"  ; (ő) o with double acute
 cmpDoubleAcute["O"] := "{u+0150}"  ; (Ő) O with double acute
 cmpDoubleAcute["u"] := "{u+0171}"  ; (ű) u with double acute
 cmpDoubleAcute["U"] := "{u+0170}"  ; (Ű) U with double acute
-cmpDoubleAcute["h"] := "{u+a727}"  ; (ꜧ) small letter heng
-cmpDoubleAcute["H"] := "{u+a726}"  ; (Ꜧ) capital letter heng
 cmpDoubleAcute[" "] := "{u+02dd}"  ; (˝) double acute accent
 
 
@@ -434,8 +420,6 @@ cmpGraveAccent["o"] := "{u+00f2}"  ; (ò) o with grave
 cmpGraveAccent["O"] := "{u+00d2}"  ; (Ò) O with grave
 cmpGraveAccent["u"] := "{u+00f9}"  ; (ù) u with grave
 cmpGraveAccent["U"] := "{u+00d9}"  ; (Ù) U with grave
-cmpGraveAccent["v"] := "{u+01dc}"  ; (ǜ) u with diaeresis and grave
-cmpGraveAccent["V"] := "{u+01db}"  ; (Ǜ) U with diaeresis and grave
 cmpGraveAccent["w"] := "{u+1e81}"  ; (ẁ) w with grave
 cmpGraveAccent["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 cmpGraveAccent["y"] := "{u+1ef3}"  ; (ỳ) y with grave
@@ -443,7 +427,7 @@ cmpGraveAccent["Y"] := "{u+1ef2}"  ; (Ỳ) Y with grave
 cmpGraveAccent[" "] := "{u+02cb}"  ; (ˋ) grave accent (modifier)
 
 
-; Compose :  Double Grave (G)
+; Compose :  Double Grave Accent (G)
 
 global cmpDoubleGrave := Map()
 cmpDoubleGrave["a"] := "{u+0201}"  ; (ȁ) a with double grave
@@ -469,6 +453,8 @@ cmpTilde["e"] := "{u+1ebd}"  ; (ẽ) e with tilde
 cmpTilde["E"] := "{u+1ebc}"  ; (Ẽ) E with tilde
 cmpTilde["i"] := "{u+0129}"  ; (ĩ) i with tilde
 cmpTilde["I"] := "{u+0128}"  ; (Ĩ) I with tilde
+cmpTilde["l"] := "{u+026b}"  ; (ɫ) l with middle tilde
+cmpTilde["L"] := "{u+2c62}"  ; (Ɫ) L with middle tilde
 cmpTilde["n"] := "{u+00f1}"  ; (ñ) n with tilde
 cmpTilde["N"] := "{u+00d1}"  ; (Ñ) N with tilde
 cmpTilde["o"] := "{u+00f5}"  ; (õ) o with tilde
@@ -479,10 +465,10 @@ cmpTilde["v"] := "{u+1e7d}"  ; (ṽ) v with tilde
 cmpTilde["V"] := "{u+1e7c}"  ; (Ṽ) V with tilde
 cmpTilde["y"] := "{u+1ef9}"  ; (ỹ) y with tilde
 cmpTilde["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
-cmpTilde[" "] := "{u+02dc}"  ; (˜) tilde
+cmpTilde[" "] := "{u+02dc}"  ; (˜) small tilde
 
 
-; Compose :  Hook and Latin Greek Letters (h)
+; Compose :  Hook and Horn (h)
 
 global cmpHook := Map()
 cmpHook["b"] := "{u+0253}"  ; (ɓ) b with hook
@@ -497,12 +483,15 @@ cmpHook["g"] := "{u+0260}"  ; (ɠ) g with hook
 cmpHook["G"] := "{u+0193}"  ; (Ɠ) G with hook
 cmpHook["h"] := "{u+0266}"  ; (ɦ) h with hook
 cmpHook["H"] := "{u+a7aa}"  ; (Ɦ) H with hook
+cmpHook["j"] := "{u+0267}"  ; (ɧ) small letter heng with hook
 cmpHook["k"] := "{u+0199}"  ; (ƙ) k with hook
 cmpHook["K"] := "{u+0198}"  ; (Ƙ) K with hook
 cmpHook["m"] := "{u+0271}"  ; (ɱ) m with hook
 cmpHook["M"] := "{u+2c6e}"  ; (Ɱ) M with hook
 cmpHook["n"] := "{u+0272}"  ; (ɲ) n with left hook
 cmpHook["N"] := "{u+019d}"  ; (Ɲ) N with left hook
+cmpHook["o"] := "{u+01a1}"  ; (ơ) o with horn
+cmpHook["O"] := "{u+01a0}"  ; (Ơ) O with horn
 cmpHook["p"] := "{u+01a5}"  ; (ƥ) p with hook
 cmpHook["P"] := "{u+01a4}"  ; (Ƥ) P with hook
 cmpHook["q"] := "{u+024b}"  ; (ɋ) q with hook tail
@@ -511,6 +500,8 @@ cmpHook["r"] := "{u+027d}"  ; (ɽ) r with tail
 cmpHook["R"] := "{u+2c64}"  ; (Ɽ) R with tail
 cmpHook["t"] := "{u+01ad}"  ; (ƭ) t with hook
 cmpHook["T"] := "{u+01ac}"  ; (Ƭ) T with hook
+cmpHook["u"] := "{u+01b0}"  ; (ư) u with horn
+cmpHook["U"] := "{u+01af}"  ; (Ư) U with horn
 cmpHook["v"] := "{u+028b}"  ; (ʋ) v with hook
 cmpHook["V"] := "{u+01b2}"  ; (Ʋ) V with hook
 cmpHook["w"] := "{u+2c73}"  ; (ⱳ) w with hook
@@ -519,50 +510,48 @@ cmpHook["y"] := "{u+01b4}"  ; (ƴ) y with hook
 cmpHook["Y"] := "{u+01b3}"  ; (Ƴ) Y with hook
 cmpHook["z"] := "{u+0225}"  ; (ȥ) z with hook
 cmpHook["Z"] := "{u+0224}"  ; (Ȥ) Z with hook
-cmpHook["a"] := "{u+0251}"  ; (ɑ) latin small letter alpha
-cmpHook["A"] := "{u+2c6d}"  ; (Ɑ) latin capital letter alpha
-cmpHook["e"] := "{u+025b}"  ; (ɛ) small open e (latin small epsilon)
-cmpHook["E"] := "{u+0190}"  ; (Ɛ) capital open E (latin capital epsilon)
-cmpHook["i"] := "{u+0269}"  ; (ɩ) latin small letter iota
-cmpHook["I"] := "{u+0196}"  ; (Ɩ) latin capital letter iota
-cmpHook["j"] := "{u+0263}"  ; (ɣ) latin small gamma
-cmpHook["J"] := "{u+0194}"  ; (Ɣ) latin capital gamma
-cmpHook["o"] := "{u+0254}"  ; (ɔ) small open o
-cmpHook["O"] := "{u+0186}"  ; (Ɔ) capital open O
-cmpHook["s"] := "{u+0283}"  ; (ʃ) small letter esh
-cmpHook["S"] := "{u+01a9}"  ; (Ʃ) capital letter esh
-cmpHook["u"] := "{u+028a}"  ; (ʊ) latin small letter upsilon
-cmpHook["U"] := "{u+01b1}"  ; (Ʊ) latin capital letter upsilon
-
-
-; Compose :  Horn and Special Letters (H)
-
-global cmpHorn := Map()
-cmpHorn["o"] := "{u+01a1}"  ; (ơ) o with horn
-cmpHorn["O"] := "{u+01a0}"  ; (Ơ) O with horn
-cmpHorn["u"] := "{u+01b0}"  ; (ư) u with horn
-cmpHorn["U"] := "{u+01af}"  ; (Ư) U with horn
-cmpHorn["g"] := "{u+ab36}"  ; (ꬶ) cross-tailed g
-cmpHorn["h"] := "{u+0267}"  ; (ɧ) small letter heng with hook
-cmpHorn["k"] := "{u+0138}"  ; (ĸ) small letter kra
-cmpHorn["s"] := "{u+017f}"  ; (ſ) small long s
-cmpHorn["S"] := "{u+1e9b}"  ; (ẛ) small long s with dot above
+
+
+; Compose :  Latin Greek Letters and Variations (l)
+
+global cmpLatinGreek := Map()
+cmpLatinGreek["a"] := "{u+0251}"  ; (ɑ) latin small letter alpha
+cmpLatinGreek["A"] := "{u+2c6d}"  ; (Ɑ) latin capital letter alpha
+cmpLatinGreek["c"] := "{u+ab36}"  ; (ꬶ) small letter script g with crossed-tail
+cmpLatinGreek["e"] := "{u+025b}"  ; (ɛ) small letter open e (latin small epsilon)
+cmpLatinGreek["E"] := "{u+0190}"  ; (Ɛ) capital letter open E (latin capital epsilon)
+cmpLatinGreek["f"] := "{u+017f}"  ; (ſ) small letter long s
+cmpLatinGreek["F"] := "{u+1e9b}"  ; (ẛ) long s with dot above
+cmpLatinGreek["g"] := "{u+0263}"  ; (ɣ) latin small letter gamma
+cmpLatinGreek["G"] := "{u+0194}"  ; (Ɣ) latin capital letter gamma
+cmpLatinGreek["h"] := "{u+a727}"  ; (ꜧ) small letter heng
+cmpLatinGreek["H"] := "{u+a726}"  ; (Ꜧ) capital letter heng
+cmpLatinGreek["i"] := "{u+0269}"  ; (ɩ) latin small letter iota
+cmpLatinGreek["I"] := "{u+0196}"  ; (Ɩ) latin capital letter iota
+cmpLatinGreek["k"] := "{u+0138}"  ; (ĸ) small letter kra
+cmpLatinGreek["o"] := "{u+0254}"  ; (ɔ) small letter open o
+cmpLatinGreek["O"] := "{u+0186}"  ; (Ɔ) capital letter open O
+cmpLatinGreek["s"] := "{u+0283}"  ; (ʃ) small letter esh
+cmpLatinGreek["S"] := "{u+01a9}"  ; (Ʃ) capital letter esh
+cmpLatinGreek["u"] := "{u+028a}"  ; (ʊ) latin small letter upsilon
+cmpLatinGreek["U"] := "{u+01b1}"  ; (Ʊ) latin capital letter upsilon
 
 
 ; Compose :  Turned Letters (t)
 
 global cmpTurned := Map()
-cmpTurned["a"] := "{u+0250}"  ; (ɐ) small turned a
-cmpTurned["A"] := "{u+2c6f}"  ; (Ɐ) capital turned A
-cmpTurned["e"] := "{u+01dd}"  ; (ǝ) small turned e
-cmpTurned["E"] := "{u+018e}"  ; (Ǝ) capital reversed E
+cmpTurned["a"] := "{u+0250}"  ; (ɐ) latin small letter turned a
+cmpTurned["A"] := "{u+2c6f}"  ; (Ɐ) latin capital letter turned A
+cmpTurned["e"] := "{u+01dd}"  ; (ǝ) latin small letter turned e
+cmpTurned["E"] := "{u+018e}"  ; (Ǝ) latin capital letter reversed E
 cmpTurned["q"] := "{u+0252}"  ; (ɒ) latin small letter turned alpha
 cmpTurned["Q"] := "{u+2c70}"  ; (Ɒ) latin capital letter turned alpha
 cmpTurned["v"] := "{u+028c}"  ; (ʌ) latin small letter turned v
 cmpTurned["V"] := "{u+0245}"  ; (Ʌ) latin capital letter turned V
+cmpTurned["y"] := "{u+028e}"  ; (ʎ) latin small letter turned y
 
 
-; Compose :  Currency ($)
+; Compose :  Currency Symbols ($)
 
 global cmpCurrency := Map()
 cmpCurrency["a"] := "{u+058f}"  ; (֏) Armenian dram
@@ -778,19 +767,15 @@ cmpSymbols["a"] := "{u+214d}"  ; (⅍) aktieselskab
 cmpSymbols["c"] := "{u+2105}"  ; (℅) care of
 cmpSymbols["d"] := "{u+22c4}"  ; (⋄) diamond operator
 cmpSymbols["e"] := "{u+212e}"  ; (℮) estimated symbol
-cmpSymbols["E"] := "{u+2709}"  ; (✉) envelope
 cmpSymbols["f"] := "{u+2640}"  ; (♀) Venus symbol (female)
-cmpSymbols["g"] := "{u+2740}"  ; (❀) white florette
-cmpSymbols["G"] := "{u+273f}"  ; (✿) black florette
-cmpSymbols["h"] := "{u+2766}"  ; (❦) floral heart
-cmpSymbols["H"] := "{u+2767}"  ; (❧) rotated floral heart bullet
 cmpSymbols["i"] := "{u+2300}"  ; (⌀) diameter sign
 cmpSymbols["l"] := "{u+2113}"  ; (ℓ) script small l
 cmpSymbols["L"] := "{u+2112}"  ; (ℒ) Laplace transform
 cmpSymbols["m"] := "{u+2642}"  ; (♂) Mars symbol (male)
 cmpSymbols["M"] := "{u+2120}"  ; (℠) service mark
+cmpSymbols["n"] := "{u+2709}"  ; (✉) envelope
 cmpSymbols["q"] := "{u+2126}"  ; (Ω) ohm sign (backwards compatibility)
-cmpSymbols["r"] := "{u+2619}"  ; (☙) reversed rotated floral heart bullet
+cmpSymbols["r"] := "{u+211e}"  ; (℞) prescription take (Recipere)
 cmpSymbols["R"] := "{u+211e}"  ; (℞) prescription take (Recipere)
 cmpSymbols["t"] := "{u+2706}"  ; (✆) telephone location sign
 cmpSymbols["v"] := "{u+2713}"  ; (✓) check mark
@@ -798,6 +783,8 @@ cmpSymbols["V"] := "{u+2714}"  ; (✔) heavy check mark
 cmpSymbols["w"] := "{u+26a0}"  ; (⚠) warning sign
 cmpSymbols["x"] := "{u+2717}"  ; (✗) ballot x
 cmpSymbols["X"] := "{u+2718}"  ; (✘) heavy ballot x
+cmpSymbols["y"] := "{u+2713}"  ; (✓) check mark
+cmpSymbols["Y"] := "{u+2714}"  ; (✔) heavy check mark
 cmpSymbols["2"] := "{u+266b}"  ; (♫) beamed eighth notes
 cmpSymbols["3"] := "{u+2042}"  ; (⁂) asterism
 cmpSymbols["5"] := "{u+2605}"  ; (★) black star
@@ -815,6 +802,18 @@ cmpSymbols["."] := "{u+2e18}"  ; (⸘) inverted interrobang
 cmpSymbols["/"] := "{u+2e2e}"  ; (⸮) reversed question mark
 
 
+; Compose :  Florette and Floral Heart Symbols (f)
+
+global cmpFlorette := Map()
+cmpFlorette["r"] := "{u+2619}"  ; (☙) reversed rotated floral heart bullet
+cmpFlorette["6"] := "{u+273e}"  ; (✾) six petalled black and white florette
+cmpFlorette["b"] := "{u+273f}"  ; (✿) black florette
+cmpFlorette["w"] := "{u+2740}"  ; (❀) white florette
+cmpFlorette["8"] := "{u+2741}"  ; (❁) eight petalled outlined black florette
+cmpFlorette["f"] := "{u+2766}"  ; (❦) floral heart
+cmpFlorette["h"] := "{u+2767}"  ; (❧) rotated floral heart bullet
+
+
 ; Compose :  Playing Card Suit Symbols (S)
 
 global cmpPlayingCardSuit := Map()
@@ -943,9 +942,9 @@ cmpCapitalT["H"] := "{u+00de}"         ; (Þ) capital letter thorn
 
 ; Compose :  General/Math Symbols
 
+global cmpEight := Map()
 global cmpSmallN := Map()
 global cmpCapitalN := Map()
-global cmpSmallP := Map()
 global cmpCapitalP := Map()
 global cmpSmallR := Map()
 global cmpAsterisk := Map()
@@ -953,21 +952,18 @@ global cmpExclam := Map()
 global cmpQuestion := Map()
 global cmpParenLeft := Map()
 global cmpPercent := Map()
-global cmpEight := Map()
 global cmpLessThan := Map()
 global cmpGreaterThan := Map()
 global cmpBracketLeft := Map()
-cmpInvertedBreve["b"] := "{u+2022}"    ; (•) bullet
-cmpInvertedBreve["t"] := "{u+2023}"    ; (‣) triangular bullet
-cmpInvertedBreve["h"] := "{u+2043}"    ; (⁃) hyphen bullet
-cmpInvertedBreve["w"] := "{u+25e6}"    ; (◦) white bullet
 cmpSmallD["d"] := "{u+2020}"           ; (†) dagger
 cmpCapitalD["D"] := "{u+2021}"         ; (‡) double dagger
+cmpSmallI["i"] := "{u+221e}"           ; (∞) infinity symbol
+cmpEight["8"] := "{u+221e}"            ; (∞) infinity symbol
 cmpMathSymbols["i"] := "{u+00b5}"      ; (µ) micro sign
 cmpSmallN["o"] := "{u+2116}"           ; (№) numero sign
 cmpCapitalN["o"] := "{u+2116}"         ; (№) numero sign
 cmpRingAbove["x"] := "{u+00a4}"        ; (¤) currency sign
-cmpSmallP["p"] := "{u+00b6}"           ; (¶) pilcrow sign
+cmpSuperscript["p"] := "{u+00b6}"      ; (¶) pilcrow sign
 cmpCapitalP["P"] := "{u+00b6}"         ; (¶) pilcrow sign
 cmpSmallR["2"] := "{u+221a}"           ; (√) square root
 cmpSmallR["3"] := "{u+221b}"           ; (∛) cube root
@@ -1000,10 +996,8 @@ cmpPlus["-"] := "{u+00b1}"             ; (±) plus-minus sign
 cmpPercent["%"] := "{u+2030}"          ; (‰) per mille sign
 cmpPercent["3"] := "{u+2030}"          ; (‰) per mille sign
 cmpPercent["4"] := "{u+2031}"          ; (‱) per ten thousand sign
-cmpEight["8"] := "{u+221e}"            ; (∞) infinity symbol
 cmpExclam["="] := "{u+2260}"           ; (≠) not equal to
-cmpDoubleAcute["/"] := "{u+2260}"      ; (≠) not equal to
-cmpStroke["="] := "{u+2260}"           ; (≠) not equal to
+cmpLessThan[">"] := "{u+2260}"         ; (≠) not equal to
 cmpLessThan["="] := "{u+2264}"         ; (≤) less-than or equal to
 cmpGreaterThan["="] := "{u+2265}"      ; (≥) greater-than or equal to
 cmpLessThan["+"] := "{u+2a7d}"         ; (⩽) less-than or slanted equal to
@@ -1011,9 +1005,29 @@ cmpGreaterThan["+"] := "{u+2a7e}"      ; (⩾) greater-than or slanted equal to
 cmpTilde["~"] := "{u+2248}"            ; (≈) almost equal to
 cmpBracketLeft["]"] := "{u+2610}"      ; (☐) ballot box
 cmpBracketLeft["v"] := "{u+2611}"      ; (☑) ballot box with check
+cmpBracketLeft["y"] := "{u+2611}"      ; (☑) ballot box with check
 cmpBracketLeft["x"] := "{u+2612}"      ; (☒) ballot box with x
 
 
+; Compose :  Bullets and Arrowheads (;)
+
+global cmpSemicolon := Map()
+cmpSemicolon["a"] := "{u+27a4}" ; (➤) black rightwards arrowhead
+cmpSemicolon["b"] := "{u+2022}" ; (•) bullet
+cmpSemicolon[";"] := "{u+2022}" ; (•) bullet
+cmpSemicolon["d"] := "{u+27a5}" ; (➥) heavy black curved downwards and rightwards arrow
+cmpSemicolon["h"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon["-"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon["p"] := "{u+27a8}" ; (➨) heavy concave-pointed black rightwards arrow
+cmpSemicolon["q"] := "{u+27a7}" ; (➧) squat black rightwards arrow
+cmpSemicolon["r"] := "{u+27a1}" ; (➡) black rightwards arrow
+cmpSemicolon["t"] := "{u+2023}" ; (‣) triangular bullet
+cmpSemicolon["u"] := "{u+27a6}" ; (➦) heavy black curved upwards and rightwards arrow
+cmpSemicolon["w"] := "{u+25e6}" ; (◦) white bullet
+cmpSemicolon["3"] := "{u+27a2}" ; (➢) 3d top-lighted rightwards arrowhead
+cmpSemicolon["#"] := "{u+27a3}" ; (➣) 3d bottom-lighted rightwards arrowhead
+
+
 ; Compose :  Quotation Marks
 
 global cmpBracketRight := Map()
@@ -1041,13 +1055,28 @@ cmpGreaterThan["'"] := "{u+203a}"        ; (›) right-pointing single angle quo
 cmpAcuteAccent[">"] := "{u+203a}"        ; (›) right-pointing single angle quotation mark
 
 
-; Compose :  Letters with Two Accents
+; Compose :  Letters with Two Diacritical Marks
 
+global cmpCapitalC := Map()
+global cmpSmallE := Map()
+global cmpCapitalE := Map()
 global cmpCapitalU := Map()
 cmpArrow[chr(34)] := "{u+01df}"      ; (ǟ) a with diaeresis and macron
 cmpCapitalA[chr(34)] := "{u+01de}"   ; (Ǟ) A with diaeresis and macron
 cmpArrow["."] := "{u+01e1}"          ; (ǡ) a with dot above and macron
 cmpCapitalA["."] := "{u+01e0}"       ; (Ǡ) A with dot above and macron
+cmpArrow["'"] := "{u+01fb}"          ; (ǻ) a with ring above and acute
+cmpCapitalA["'"] := "{u+01fa}"       ; (Ǻ) A with ring above and acute
+cmpCircumflex["'"] := "{u+1e09}"     ; (ḉ) c with cedilla and acute
+cmpCapitalC["'"] := "{u+1e08}"       ; (Ḉ) C with cedilla and acute
+cmpSmallE["-"] := "{u+01e3}"         ; (ǣ) ae with macron
+cmpCapitalE["-"] := "{u+01e2}"       ; (Ǣ) AE with macron
+cmpSmallE["'"] := "{u+01fd}"         ; (ǽ) ae with acute
+cmpCapitalE["'"] := "{u+01fc}"       ; (Ǽ) AE with acute
+cmpRingAbove[","] := "{u+01ed}"      ; (ǭ) o with ogonek and macron
+cmpCapitalO[","] := "{u+01ec}"       ; (Ǭ) O with ogonek and macron
+cmpRingAbove["'"] := "{u+01ff}"      ; (ǿ) o with stroke and acute
+cmpCapitalO["'"] := "{u+01fe}"       ; (Ǿ) O with stroke and acute
 cmpRingAbove[chr(34)] := "{u+022b}"  ; (ȫ) o with diaeresis and macron
 cmpCapitalO[chr(34)] := "{u+022a}"   ; (Ȫ) O with diaeresis and macron
 cmpRingAbove["~"] := "{u+022d}"      ; (ȭ) o with tilde and macron
@@ -1417,26 +1446,26 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send "{u+00db}"  ; (Û) U with circumflex
 }
 
->!-:: {
+>!6:: {
   if GetKeyState("CapsLock", "T")
     Send "{u+00c3}"  ; (Ã) A with tilde
   else
     Send "{u+00e3}"  ; (ã) a with tilde
 }
->!_:: {
+>!+6:: {
   if GetKeyState("CapsLock", "T")
     Send "{u+00e3}"  ; (ã) a with tilde
   else
     Send "{u+00c3}"  ; (Ã) A with tilde
 }
 
->!=:: {
+>!7:: {
   if GetKeyState("CapsLock", "T")
     Send "{u+00d5}"  ; (Õ) O with tilde
   else
     Send "{u+00f5}"  ; (õ) o with tilde
 }
->!+=:: {
+>!+7:: {
   if GetKeyState("CapsLock", "T")
     Send "{u+00f5}"  ; (õ) o with tilde
   else
@@ -1449,10 +1478,10 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!1::Send "{u+00a1}"   ; (¡) inverted exclamation mark
 >!+1::Send "{u+00b9}"  ; (¹) superscript 1
 
->!2::Send "{u+2013}"   ; (–) en dash
+>!2::Send "{u+2264}"   ; (≤) less-than or equal to
 >!+2::Send "{u+00b2}"  ; (²) superscript 2
 
->!3::Send "{u+2014}"   ; (—) em dash
+>!3::Send "{u+2265}"   ; (≥) greater-than or equal to
 >!+3::Send "{u+00b3}"  ; (³) superscript 3
 
 >!4::Send "{u+00a3}"   ; (£) pound sign
@@ -1461,14 +1490,8 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!5::Send "{u+20ac}"   ; (€) euro sign
 >!+5::Send "{u+00a2}"  ; (¢) cent sign (dollar)
 
->!6::Send "{u+2264}"   ; (≤) less-than or equal to
->!+6::Send "{u+2260}"  ; (≠) not equal to
-
->!7::Send "{u+2265}"   ; (≥) greater-than or equal to
->!+7::Send "{u+2248}"  ; (≈) almost equal to
-
 >!8::Send "{u+201e}"   ; („) double low-9 quotation mark
->!+8::Send "{u+201a}"  ; (‚) single low-9 quotation mark
+>!+8::Send "{u+00a7}"  ; (§) section sign
 
 >!9::Send "{u+201c}"   ; (“) left double quotation mark
 >!+9::Send "{u+2018}"  ; (‘) left single quotation mark
@@ -1476,6 +1499,12 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!0::Send "{u+201d}"   ; (”) right double quotation mark
 >!+0::Send "{u+2019}"  ; (’) right single quotation mark
 
+>!-::Send "{u+2013}"   ; (–) en dash
+>!_::Send "{u+2014}"   ; (—) em dash
+
+>!=::Send "{u+00d7}"   ; (×) multiplication sign
+>!+=::Send "{u+00f7}"  ; (÷) division sign
+
 >![::Send "{u+00ab}"   ; («) left-pointing double angle quotation mark
 >!{::Send "{u+2039}"   ; (‹) left-pointing single angle quotation mark
 
@@ -1485,11 +1514,11 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!;::Send "{u+00b0}"   ; (°) degree sign
 >!+;::Send "{u+00b7}"  ; (·) middle dot
 
->!'::Send "{u+00d7}"   ; (×) multiplication sign
->!+'::Send "{u+00f7}"  ; (÷) division sign
+>!'::Send "{u+2020}"   ; (†) dagger
+>!+'::Send "{u+2021}"  ; (‡) double dagger
 
->!\::Send "{u+00a7}"   ; (§) section sign
->!|::Send "{u+2030}"   ; (‰) per mille sign
+>!\::Send "{u+2002}"   ;     en space
+>!|::Send "{u+2003}"   ;     em space
 
 >!/::Send "{u+00bf}"   ; (¿) inverted question mark
 >!?::Send "{u+2026}"   ; (…) horizontal ellipsis
@@ -1502,11 +1531,11 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 
 >!`::
 >!~:: {
-  ihA := InputHook("L1", dkEndKeys)
+  ihA := InputHook("L1", gEndKeys)
   ihA.Start()
   ihA.Wait()
 
-  ihB := InputHook("L1", dkEndKeys)
+  ihB := InputHook("L1", gEndKeys)
   ihB.Start()
   ihB.Wait()
 
@@ -1578,9 +1607,9 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpHook.Has(ihB.Input)
       Send cmpHook[ihB.Input]
   }
-  else if (ihA.Input == "H") {
-    if cmpHorn.Has(ihB.Input)
-      Send cmpHorn[ihB.Input]
+  else if (ihA.Input == "l") {
+    if cmpLatinGreek.Has(ihB.Input)
+      Send cmpLatinGreek[ihB.Input]
   }
   else if (ihA.Input == "t") {
     if cmpTurned.Has(ihB.Input)
@@ -1622,6 +1651,10 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpSymbols.Has(ihB.Input)
       Send cmpSymbols[ihB.Input]
   }
+  else if (ihA.Input == "f") {
+    if cmpFlorette.Has(ihB.Input)
+      Send cmpFlorette[ihB.Input]
+  }
   else if (ihA.Input == "S") {
     if cmpPlayingCardSuit.Has(ihB.Input)
       Send cmpPlayingCardSuit[ihB.Input]
@@ -1694,10 +1727,6 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpCapitalN.Has(ihB.Input)
       Send cmpCapitalN[ihB.Input]
   }
-  else if (ihA.Input == "p") {
-    if cmpSmallP.Has(ihB.Input)
-      Send cmpSmallP[ihB.Input]
-  }
   else if (ihA.Input == "P") {
     if cmpCapitalP.Has(ihB.Input)
       Send cmpCapitalP[ihB.Input]
@@ -1742,10 +1771,26 @@ cmpCapitalU["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     if cmpBracketLeft.Has(ihB.Input)
       Send cmpBracketLeft[ihB.Input]
   }
+  else if (ihA.Input == ";") {
+    if cmpSemicolon.Has(ihB.Input)
+      Send cmpSemicolon[ihB.Input]
+  }
   else if (ihA.Input == "]") {
     if cmpBracketRight.Has(ihB.Input)
       Send cmpBracketRight[ihB.Input]
   }
+  else if (ihA.Input == "C") {
+    if cmpCapitalC.Has(ihB.Input)
+      Send cmpCapitalC[ihB.Input]
+  }
+  else if (ihA.Input == "e") {
+    if cmpSmallE.Has(ihB.Input)
+      Send cmpSmallE[ihB.Input]
+  }
+  else if (ihA.Input == "E") {
+    if cmpCapitalE.Has(ihB.Input)
+      Send cmpCapitalE[ihB.Input]
+  }
   else if (ihA.Input == "U") {
     if cmpCapitalU.Has(ihB.Input)
       Send cmpCapitalU[ihB.Input]